home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / DBLTAKE1.DSK / CONFIGURE DOUBLE-TAKE.bas < prev    next >
BASIC Source File  |  2014-09-09  |  19KB  |  391 lines

  1. 0  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>==================<CTRL-M>CONFIG DOUBLE-TAKE<CTRL-M>MARK S. SIMONSEN<CTRL-M>(C) 1983<CTRL-M>BEAGLE BROS INC.<CTRL-M>==================<CTRL-M>
  2. 1  REM <CTRL-J><CTRL-J>CONFIGURE DOUBLE-TAKE<CTRL-J><CTRL-J>
  3. 2 AMPER = 0:PLE = 0:CTRL = 134
  4. 4  IF  PEEK(116) <103  OR  PEEK(104) < >8  THEN  PRINT :A$ = "NOT ENOUGH AVAILABLE MEMORY.": GOSUB 2000:A$ = "TYPE 'FP' OR RE-BOOT AND THEN": GOSUB 2000:A$ = "RUN THIS PROGRAM.": GOSUB 2000: STOP 
  5. 5 HM =  PEEK(115) + PEEK(116) *256: HIMEM: 16383
  6. 6 D$ =  CHR$(4): PRINT D$"NOMONICO"
  7. 7  DIM ER$(15),ECB$(14)
  8. 8  GOSUB 6000: GOSUB 7001:SE(5) = 1:SE(0) = 1:SE(6) = 1
  9. 9  IF (PLE)  THEN DN$(1) = ".PLE":NE(1) = 151:LM = 1
  10. 100  REM <CTRL-J><CTRL-J>MAIN MENU<CTRL-J><CTRL-J>
  11. 101  TEXT : NORMAL : PRINT  CHR$(12): HOME 
  12. 102  INVERSE :A$ = ":                         :": GOSUB 2000
  13. 103 A$ = " DOUBLE-TAKE CONFIGURATION ": GOSUB 2000
  14. 104 A$ = ":                         :": GOSUB 2000
  15. 105  NORMAL 
  16. 106  PRINT :A$ = "(C) 1983 MARK S. SIMONSEN": GOSUB 2000
  17. 107  VTAB 9:A$ = "BEAGLE BROS MICRO SOFTWARE INC.": GOSUB 2000
  18. 108 A$ = "3990 OLD TOWN AVE, SUITE 102C": GOSUB 2000
  19. 109 A$ = "SAN DIEGO, CA 92110": GOSUB 2000
  20. 110  VTAB 14: PRINT "_______________________________________": PRINT 
  21. 111  PRINT "<1> CONFIGURATION MENU": PRINT "<2> SAVE CONFIGURATION"
  22. 112  PRINT "_______________________________________"
  23. 113 VT = 22: GOSUB 2500
  24. 114  IF A$ = "Q"  OR A$ = "q"  THEN  PRINT  CHR$(12): HOME : GOSUB 7003: GOSUB 7003: HIMEM: HM: END 
  25. 115  IF A$ = "2"  THEN 301
  26. 116  IF A$ < >"1"  THEN  GOSUB 7003: GOTO 113
  27. 200  REM <CTRL-J><CTRL-J>CONFIGURATION MENU<CTRL-J><CTRL-J>
  28. 201  GOSUB 1500
  29. 205  VTAB 12: PRINT "_______________________________________": PRINT 
  30. 206  PRINT "<1> RED MODULE.................."
  31. 208  PRINT "<2> ORANGE MODULE..............."
  32. 210  PRINT "<3> BLUE MODULE................."
  33. 212  PRINT "<4> YELLOW MODULE..............."
  34. 213  PRINT "<5> VIDEO DRIVER................"
  35. 214  PRINT "_______________________________________"
  36. 215 SF = 0
  37. 216  GOSUB 5000
  38. 217 VT = 22: GOSUB 3000
  39. 218  IF A$ =  CHR$(27)  THEN 101
  40. 219  IF A$ = "5"  THEN 230
  41. 220  IF A$ <"1"  OR A$ >"4"  THEN  GOSUB 7003: GOTO 217
  42. 221 A =  VAL(A$)
  43. 222 SE(A) =   NOT SE(A)
  44. 223  IF SE(A)  AND A >0  AND A <4  THEN J = A: GOTO 260
  45. 224  CALL DING: GOTO 216
  46. 230  REM <CTRL-J><CTRL-J>VIDEO DRIVER MENU<CTRL-J><CTRL-J>
  47. 231  GOSUB 1500
  48. 235  IF   NOT (PLE)  THEN 240
  49. 236  VTAB 12:A$ = "ILLEGAL SELECTION": GOSUB 2000
  50. 237  INVERSE : PRINT :A$ = "PLE ONLY SUPPORTS 40 COLUMNS": GOSUB 2000: NORMAL 
  51. 238  GOSUB 7003
  52. 239 VT = 22: GOSUB 4000: GOTO 201
  53. 240  VTAB 9: PRINT "_______________________________________": PRINT 
  54. 241  PRINT "<A> 40 COLUMNS ONLY  <I> FLEX TYPE"
  55. 242  PRINT "<B> APPLE IIE 80     <J> VISION-80"
  56. 243  PRINT "<C> APPLE IIC 80     <K> M-80"
  57. 244  PRINT "<D> NEW ULTRATERM    <L> MAGNUM-80"
  58. 245  PRINT "<E> OLD ULTRATERM    <M> VIEWMAX-80"
  59. 246  PRINT "<F> VIDEOTERM        <N> VIEWMASTER-80"
  60. 247  PRINT "<G> SUP'R'TERM       <O> WIZARD-80"
  61. 248  PRINT "<H> FULL-VIEW 80"
  62. 249  PRINT "_______________________________________"
  63. 250 VT = 22: GOSUB 3000
  64. 251  IF A$ =  CHR$(27)  THEN 201
  65. 252  IF A$ <"A"  OR A$ >"O"  THEN  GOSUB 7003: GOTO 250
  66. 253 CV = 150: IF A$ = "G"  OR A$ = "H"  THEN CV = 130
  67. 254 LM = 4: IF A$ = "I"  THEN LM = 1
  68. 255  IF A$ = "J"  THEN LM = 3
  69. 256 ECB =  ASC(A$) -65: GOTO 201
  70. 260  REM <CTRL-J><CTRL-J>SHORTENED MODULES?<CTRL-J><CTRL-J>
  71. 261  GOSUB 1500
  72. 265  VTAB 13: PRINT "_______________________________________": PRINT 
  73. 266  PRINT "<1> COMPLETE "NM$(J)" MODULE"
  74. 267  PRINT "      (ALL 4 FEATURES)"
  75. 268  PRINT "<2> SHORTENED "NM$(J)" MODULE"
  76. 269  PRINT "      ("DSC$(J)" ONLY)"
  77. 270  PRINT "_______________________________________"
  78. 271 VT = 22: GOSUB 3000
  79. 272  IF A$ =  CHR$(27)  THEN SE(J) = 0:SHRT(J) = 0: GOTO 201
  80. 273  IF A$ <"1"  OR A$ >"2"  THEN  GOSUB 7003: GOTO 271
  81. 274 A =  VAL(A$)
  82. 275 SHRT(J) = A -1: GOTO 201
  83. 300  REM <CTRL-J><CTRL-J>SAVE MENU<CTRL-J><CTRL-J>
  84. 301  GOSUB 1400
  85. 306 FLAG = 0
  86. 307  FOR I = 1 TO 4
  87. 308  IF SE(I)  THEN FLAG = 1
  88. 309  NEXT 
  89. 310  IF FLAG  THEN 501
  90. 400  REM <CTRL-J><CTRL-J>SAVE ERROR<CTRL-J><CTRL-J>
  91. 401  VTAB 12:A$ = "CAN'T CONFIGURE": GOSUB 2000
  92. 402  INVERSE : PRINT :A$ = " NO MODULES SELECTED ": GOSUB 2000: NORMAL 
  93. 403  GOSUB 7003
  94. 404 VT = 22: GOSUB 4000
  95. 405  GOTO 101
  96. 500  REM <CTRL-J><CTRL-J>SECOND SAVE MENU<CTRL-J><CTRL-J>
  97. 501  VTAB 11: PRINT "SAVE AS:": PRINT : PRINT "_______________________________________": PRINT 
  98. 502  FOR I = 1 TO LM: PRINT "<"I"> DOUBLE-TAKE"DN$(I): NEXT 
  99. 503  PRINT "_______________________________________"
  100. 504 VT = 22: GOSUB 3000
  101. 505  IF A$ =  CHR$(27)  THEN 101
  102. 506  IF A$ <"1"  OR A$ > STR$(LM)  THEN  GOSUB 7003: GOTO 504
  103. 600  REM <CTRL-J><CTRL-J>VERIFY SELECTION<CTRL-J><CTRL-J>
  104. 601 DT =  VAL(A$)
  105. 602 DN$ = DN$(DT)
  106. 603  IF DT = 3  THEN DT = 1
  107. 604  IF DT = 4  THEN DT = 3
  108. 605  PRINT  CHR$(12): HOME : GOSUB 1400: VTAB 8: PRINT "_______________________________________": PRINT 
  109. 606  VTAB 20: PRINT "_______________________________________"
  110. 608  VTAB 11:A$ = "VERIFY THAT YOU WANT TO": GOSUB 2000
  111. 609 A$ = "CONFIGURE AS": GOSUB 2000
  112. 610  PRINT : PRINT :A$ = "***  DOUBLE-TAKE" +DN$ +"  ***": GOSUB 2000
  113. 611  PRINT : PRINT :A$ = "PRESS <RETURN> TO CONTINUE": GOSUB 2000
  114. 612 VT = 22: GOSUB 3000
  115. 613  IF A$ =  CHR$(27)  THEN 301
  116. 614  IF A$ =  CHR$(13)  THEN 701
  117. 615  GOSUB 7003: GOTO 612
  118. 700  REM <CTRL-J><CTRL-J>O.K. START SAVE<CTRL-J><CTRL-J>
  119. 701  ONERR  GOTO 60000
  120. 702  PRINT  CHR$(12): HOME : GOSUB 1400: VTAB 8: PRINT "_______________________________________": VTAB 20: PRINT "_______________________________________"
  121. 703  VTAB 10: PRINT "LOADING:  ";
  122. 704  HTAB 13: PRINT "RELOC.OBJ0"
  123. 705  PRINT D$"BLOAD RELOC.OBJ0"
  124. 706  HTAB 13: PRINT "LOADER.OBJ0"
  125. 707  PRINT D$"BLOAD LOADER.OBJ0"
  126. 708 AD = 17408: IF  LEN(DN$)  THEN  POKE 17348,46: POKE 17349, ASC( MID$ (DN$,2,1)): POKE 17350, ASC( RIGHT$(DN$,1))
  127. 709  HTAB 13: PRINT "COMMAND HANDLER"
  128. 710  PRINT D$"BLOAD COMMAND HANDLER,A"AD
  129. 711 ST(0) = AD:AD = AD +LN(0,0) *256:TL = LN(0,0)
  130. 712  FOR I = 1 TO 4
  131. 713  IF   NOT SE(I)  THEN 720
  132. 714  HTAB 13: IF SHRT(I)  THEN  PRINT "SHORT ";
  133. 715  PRINT NM$(I)" MODULE"
  134. 716  PRINT D$"BLOAD ";
  135. 717  IF SHRT(I)  THEN  PRINT "SHORT ";
  136. 718  PRINT NM$(I)" MODULE,A"AD
  137. 719 ST(I) = AD:AD = AD +LN(I,SHRT(I)) *256:TL = TL +LN(I,SHRT(I))
  138. 720  NEXT 
  139. 721  HTAB 13: PRINT "DRIVER.";ECB$(ECB)
  140. 722  PRINT  CHR$(4)"BLOAD DRIVER."ECB$(ECB)",A"AD:ST(6) = AD
  141. 723 ST(5) = ST(0) +256:TL = TL +3: IF AMPER  THEN  GOSUB 8000
  142. 724  POKE 216,0:NH = NE(DT) -TL
  143. 725 NBL = NH -1
  144. 730  IF DT = 1  AND   NOT (PLE)  THEN 765
  145. 731  POKE 843,154: REM $9A
  146. 732  FOR I = 0 TO 6
  147. 733  IF   NOT SE(I)  THEN 739
  148. 734  IF I = 5  THEN 739
  149. 735  POKE 845,0: POKE 846, INT(ST(I)/256)
  150. 736  POKE 847,2: POKE 848,NE(DT) -3
  151. 737  CALL 768
  152. 739  NEXT 
  153. 740  POKE 843,8
  154. 750  IF DT = 2  THEN W = ST(6) +84: POKE W,234: POKE W +1,234: POKE W +2,234: POKE W +5,141: POKE W +6,234: POKE W +7,234: POKE W +8,234
  155. 765  PRINT  CHR$(12): HOME : GOSUB 1400: VTAB 8: PRINT "_______________________________________": VTAB 20: PRINT "_______________________________________"
  156. 766  VTAB 10: PRINT "RELOCATING: ";
  157. 767  HTAB 13: PRINT "COMMAND HANDLER"
  158. 768  POKE 845,0: POKE 846, INT(ST(0)/256)
  159. 769  POKE 847,LN(0,0) -1: POKE 848,NH
  160. 770  CALL 768:NS(0) = NH
  161. 771 NH = NH +LN(0,0)
  162. 772  FOR I = 1 TO 4
  163. 773  IF   NOT SE(I)  THEN 780
  164. 774  HTAB 13: IF SHRT(I)  THEN  PRINT "SHORT ";
  165. 775  PRINT NM$(I)" MODULE"
  166. 776  POKE 845,0: POKE 846, INT(ST(I)/256)
  167. 777  POKE 847,LN(I,SHRT(I)) -1: POKE 848,NH
  168. 778  CALL 768:NS(I) = NH
  169. 779 NH = NH +LN(I,SHRT(I))
  170. 780  NEXT 
  171. 781  HTAB 13: PRINT "DRIVER."ECB$(ECB)
  172. 800  REM <CTRL-J><CTRL-J>COMMAND HANDLER OFFSETS<CTRL-J><CTRL-J>
  173. 801 FK = ST(0) +322:FT = ST(0) +379: POKE ST(0) +81,CV
  174. 802  IF   NOT SE(1)  THEN  POKE FK,0: POKE FK +1,0: POKE FK +12,0: POKE FK +13,0: GOTO 804
  175. 803  POKE FT,0: POKE FT +1,NS(1): POKE FT +24,3: POKE FT +25,NS(1)
  176. 804  IF   NOT SE(2)  THEN  POKE FK +2,0: POKE FK +3,0: POKE FK +14,0: POKE FK +15,0: GOTO 807
  177. 805  POKE FT +6,6: POKE FT +7,NS(2): POKE FT +30,9: POKE FT +31,NS(2): IF   NOT SHRT(2)  THEN  POKE FT +4,0: POKE FT +5,NS(2): POKE FT +28,3: POKE FT +29,NS(2)
  178. 806  IF SHRT(2)  THEN  POKE FK +2,0: POKE FK +14,0
  179. 807  IF   NOT SE(3)  THEN  POKE FK +4,0: POKE FK +5,0: POKE FK +16,0: POKE FK +17,0: GOTO 810
  180. 808  POKE FT +34,3: POKE FT +35,NS(3): IF   NOT SHRT(3)  THEN  POKE FT +8,10: POKE FT +9,NS(3): POKE FT +10,6: POKE FT +11,NS(3): POKE FT +32,14: POKE FT +33,NS(3)
  181. 809  IF SHRT(3)  THEN  POKE FK +4,0: POKE FK +5,0: POKE FK +16,0
  182. 810  IF   NOT SE(4)  THEN  POKE FK +6,0: POKE FK +7,0: POKE FK +8,0: POKE FK +18,0: POKE FK +19,0: POKE FK +20,0: GOTO 812
  183. 811  POKE FT +12,9: POKE FT +13,NS(4): POKE FT +14,21: POKE FT +15,NS(4): POKE FT +16,33: POKE FT +17,NS(4): POKE FT +36,15: POKE FT +37,NS(4): POKE FT +38,27: POKE FT +39,NS(4): POKE FT +40,39: POKE FT +41,NS(4)
  184. 812 NS(5) = NS(0) +1: POKE FT +18,15: POKE FT +19,NS(5): POKE FT +20,27: POKE FT +21,NS(5): POKE FT +22,48: POKE FT +23,NS(5): POKE FT +42,42: POKE FT +43,NS(5): POKE FT +44,54: POKE FT +45,NS(5)
  185. 813  POKE ST(0) +5,NS(0): IF AMPER  THEN  POKE ST(0) +120,NS(0)
  186. 814  IF   NOT SE(4)  THEN 818
  187. 815  POKE ST(0) +26,0: POKE ST(0) +27,NS(4)
  188. 816  POKE ST(0) +38,3: POKE ST(0) +39,NS(4)
  189. 817  POKE ST(0) +50,6: POKE ST(0) +51,NS(4)
  190. 818  IF SE(3)  THEN  POKE ST(0) +108,0: POKE ST(0) +109,NS(3)
  191. 819  IF   NOT AMPER  THEN  POKE ST(0) +95,CTRL
  192. 900  REM <CTRL-J><CTRL-J>CATALOG OFFSETS<CTRL-J><CTRL-J>
  193. 901  IF   NOT SE(1)  OR SHRT(1)  OR DT = 3  THEN 1000
  194. 902  POKE ST(1) +9,234: POKE ST(1) +10,234: POKE ST(1) +11,234: POKE ST(1) +12,234: POKE ST(1) +13,234: POKE ST(1) +14,234: POKE ST(1) +17,179
  195. 903 W = ST(1) +1565: POKE W +2,171: POKE W +12,173:W = W +10
  196. 904  POKE W +7,181: POKE W +10,175: POKE W +15,179: POKE W +33,234: POKE W +34,234: POKE W +35,234: POKE W +42,234: POKE W +43,234: POKE W +44,234: POKE W +45,234: POKE W +46,234: POKE W +47,234
  197. 905 W = W +6
  198. 906  POKE W +57,179: POKE W +67,246: POKE W +68,183: POKE W +73,174
  199. 907 W = W +100: POKE W +10,179: POKE W +13,180: POKE W +21,179: POKE W +32,234: POKE W +33,234: POKE W +34,234: POKE W +38,234: POKE W +39,234: POKE W +40,234: POKE W +41,234: POKE W +42,234: POKE W +43,234
  200. 908  POKE W +63,180: POKE W +70,180: POKE W +81,180: POKE W +95,179
  201. 909 W = W +100: POKE W +6,180: POKE W +11,180: POKE W +16,174: POKE W +29,180: POKE W +55,178: POKE W +63,179: POKE W +70,179: POKE W +94,179
  202. 910 W = W +100: POKE W +44,179: POKE W +60,179: POKE W +70,179: POKE W +94,180
  203. 911 W = W +100: POKE W +1,180: POKE W +37,234: POKE W +38,234: POKE W +39,234: POKE W +80,180: POKE W +87,180: POKE W +91,176
  204. 912 W = W +100: POKE W +10,176: POKE W +17,179: POKE W +29,179: POKE W +36,179: POKE W +58,176: POKE W +62,234: POKE W +63,234: POKE W +64,234: POKE W +68,234: POKE W +69,234: POKE W +70,234: POKE W +71,234: POKE W +72,234: POKE W +73,234
  205. 913  POKE W +75,234: POKE W +76,234: POKE W +77,234: POKE W +81,234: POKE W +82,234: POKE W +83,234: POKE W +84,234: POKE W +85,234: POKE W +86,234: POKE W +90,179
  206. 914 W = W +100: POKE W +13,179: POKE W +43,234: POKE W +44,234: POKE W +45,234: POKE W +49,234: POKE W +50,234: POKE W +51,234: POKE W +52,234: POKE W +53,234: POKE W +54,234
  207. 915  POKE W +78,234: POKE W +79,234: POKE W +80,234
  208. 1000  REM <CTRL-J><CTRL-J>SHOW OFFSETS<CTRL-J><CTRL-J>
  209. 1001  IF   NOT SE(4)  THEN 1100
  210. 1002  POKE ST(4) +1565,NS(4) +6
  211. 1003  IF DT = 3  THEN 1100
  212. 1004 W = ST(4) +200
  213. 1005  POKE W +15,170: POKE W +28,234: POKE W +29,234: POKE W +30,234: POKE W +34,234: POKE W +35,234: POKE W +36,234: POKE W +40,234: POKE W +41,234: POKE W +42,234: POKE W +46,234: POKE W +47,234: POKE W +48,234
  214. 1006  POKE W +61,170: POKE W +74,234: POKE W +75,234: POKE W +76,234: POKE W +80,234: POKE W +81,234: POKE W +82,234: POKE W +86,234: POKE W +87,234: POKE W +88,234: POKE W +92,234: POKE W +93,234: POKE W +94,234
  215. 1100  REM <CTRL-J><CTRL-J>LOADER OFFSETS<CTRL-J><CTRL-J>
  216. 1101 LD = 16384
  217. 1102  POKE LD +3,DT
  218. 1103  POKE LD +4,NBL
  219. 1104  POKE LD +5,SE(1) *128 *  NOT SHRT(1)
  220. 1105  POKE LD +6,68
  221. 1106  POKE LD +7,68 +TL -1
  222. 1107 KH =  INT(FK/256):KL = FK -KH *256
  223. 1108  POKE LD +8,KL
  224. 1109  POKE LD +9,KH
  225. 1111  IF AMPER  THEN  POKE LD +412,0: POKE LD +419,0
  226. 1112  POKE LD +10,NE(DT) -3
  227. 1200  REM <CTRL-J><CTRL-J>DELETE 'OLD' FILE<CTRL-J><CTRL-J>
  228. 1201  ONERR  GOTO 1205
  229. 1202  PRINT D$"UNLOCK DOUBLE-TAKE";DN$
  230. 1203  PRINT D$"DELETE DOUBLE-TAKE";DN$
  231. 1204  GOTO 1301
  232. 1205  IF  PEEK(222) < >6  THEN 60000
  233. 1206  CALL  -3288
  234. 1300  REM <CTRL-J><CTRL-J>DO 'REAL' SAVE<CTRL-J><CTRL-J>
  235. 1301  PRINT : PRINT "SAVING AS:  DOUBLE-TAKE";DN$
  236. 1302 L = (TL +4) *256
  237. 1303  PRINT D$"BSAVE DOUBLE-TAKE"DN$",A16384,L"L
  238. 1304  POKE 216,0
  239. 1305  PRINT : PRINT "CONFIGURATION COMPLETE"
  240. 1306 VT = 22: GOSUB 4000
  241. 1307  GOTO 101
  242. 1400  REM <CTRL-J><CTRL-J>PRINT SAVE MENU HEADER<CTRL-J><CTRL-J>
  243. 1401  PRINT  CHR$(12): HOME : INVERSE :A$ = ":                      :": GOSUB 2000
  244. 1402 A$ = "   SAVE CONFIGURATION   ": GOSUB 2000
  245. 1403 A$ = ":                      :": GOSUB 2000: NORMAL 
  246. 1404  PRINT :A$ = "(C) 1983 MARK SIMONSEN": GOSUB 2000
  247. 1405  RETURN 
  248. 1500  REM <CTRL-J><CTRL-J>PRINT CONFIG MENU HEADER<CTRL-J><CTRL-J>
  249. 1501  PRINT  CHR$(12): HOME : INVERSE :A$ = ":                      :": GOSUB 2000
  250. 1502 A$ = "   CONFIGURATION MENU   ": GOSUB 2000
  251. 1503 A$ = ":                      :": GOSUB 2000: NORMAL 
  252. 1504  PRINT :A$ = "(C) 1983 MARK SIMONSEN": GOSUB 2000
  253. 1505  RETURN 
  254. 2000  REM <CTRL-J><CTRL-J>CENTER STRING A$<CTRL-J><CTRL-J>
  255. 2001 HT =  INT(20 -( LEN(A$)/2)) +1: IF HT =  <0  THEN HT = 1
  256. 2002  HTAB HT: PRINT A$: RETURN 
  257. 2500  REM <CTRL-J><CTRL-J>GET 1ST SELECTION<CTRL-J><CTRL-J> 
  258. 2501  VTAB VT: PRINT "SELECT < >                  <Q> TO QUIT"
  259. 2502  HTAB 8: VTAB VT: GOSUB 7004: PRINT "<";: GOSUB 9000: IF A$ > = " "  THEN  PRINT A$: GOTO 2504
  260. 2503  PRINT " "
  261. 2504  RETURN 
  262. 3000  REM <CTRL-J><CTRL-J>GET OTHER SELECTIONS<CTRL-J><CTRL-J> 
  263. 3001  VTAB VT: PRINT "SELECT < >                <ESC> TO EXIT"
  264. 3002  HTAB 8: VTAB VT: GOSUB 7004: PRINT "<";: GOSUB 9000: IF A$ > = " "  THEN  PRINT A$: GOTO 3004
  265. 3003  PRINT " "
  266. 3004  RETURN 
  267. 4000  REM <CTRL-J><CTRL-J>WAIT FOR KEY PRESS<CTRL-J><CTRL-J>
  268. 4001  VTAB VT:A$ = "PRESS <RETURN> TO CONTINUE  ": GOSUB 2000
  269. 4002  VTAB VT: HTAB 33: GOSUB 7004: PRINT " ";: GOSUB 9000: RETURN 
  270. 5000  REM <CTRL-J><CTRL-J>PRINT SELECTIONS<CTRL-J><CTRL-J>
  271. 5001  FOR I = 1 TO 4
  272. 5002  IF   NOT SF  THEN  CALL DING
  273. 5003  VTAB V(I): HTAB 19: IF   NOT SE(I)  THEN  PRINT "..............";: GOTO 5006
  274. 5004  IF   NOT SHRT(I)  THEN  PRINT "(COMPLETE)";: GOTO 5006
  275. 5005  PRINT "(SHORT)";
  276. 5006  IF SE(I)  THEN  INVERSE 
  277. 5007  HTAB 34: PRINT "YES";
  278. 5008  NORMAL : PRINT "/";
  279. 5009  IF   NOT SE(I)  THEN  INVERSE 
  280. 5010  PRINT "NO"
  281. 5011  NORMAL 
  282. 5012  NEXT 
  283. 5013  VTAB V(4) +1: HTAB 19: IF   NOT ECB  THEN  PRINT "..............";: GOTO 5015
  284. 5014  PRINT "("ECB$(ECB)")";
  285. 5015  IF ECB  THEN  INVERSE 
  286. 5016  HTAB 34: PRINT "YES";
  287. 5017  NORMAL : PRINT "/";
  288. 5018  IF   NOT ECB  THEN  INVERSE 
  289. 5019  PRINT "NO": NORMAL 
  290. 5020 SF = 1: RETURN 
  291. 6000  REM <CTRL-J><CTRL-J>SET UP CONSTANTS<CTRL-J><CTRL-J>
  292. 6001  FOR I = 1 TO 4
  293. 6002  READ V(I)
  294. 6003  NEXT 
  295. 6004  DATA 14,15,16,17
  296. 6005  FOR I = 1 TO 4
  297. 6006  READ NM$(I)
  298. 6007  NEXT 
  299. 6008  DATA RED,ORANGE,BLUE,YELLOW
  300. 6009  FOR I = 1 TO 4
  301. 6010  READ DN$(I)
  302. 6011  NEXT 
  303. 6012  DATA "",".48",".LC",".DM"
  304. 6013  FOR I = 0 TO 4: FOR J = 0 TO 1
  305. 6014  READ LN(I,J)
  306. 6015  NEXT : NEXT 
  307. 6016  DATA  2,2,9,7,4,1,10,1,7,7
  308. 6017  FOR I = 1 TO 3
  309. 6018  READ NE(I)
  310. 6019  NEXT 
  311. 6020  DATA 157,141,190 
  312. 6021  FOR I = 0 TO 15
  313. 6022  READ ER$(I)
  314. 6023  NEXT 
  315. 6024  DATA BASIC PROGRAM ERROR
  316. 6025  DATA LANGUAGE NOT AVAILABLE
  317. 6026  DATA RANGE ERROR
  318. 6027  DATA RANGE ERROR
  319. 6028  DATA WRITE-PROTECTED
  320. 6029  DATA END OF DATA
  321. 6030  DATA FILE NOT FOUND
  322. 6031  DATA VOLUME MISMATCH
  323. 6032  DATA I/O ERROR
  324. 6033  DATA DISK FULL
  325. 6034  DATA FILE LOCKED
  326. 6035  DATA DOS SYNTAX ERROR
  327. 6036  DATA NO BUFFERS AVAILABLE
  328. 6037  DATA FILE TYPE MISMATCH
  329. 6038  DATA PROGRAM TOO LARGE
  330. 6039  DATA NOT DIRECT COMMAND
  331. 6040 LM = 4
  332. 6041  FOR I = 0 TO 14
  333. 6042  READ ECB$(I)
  334. 6043  NEXT 
  335. 6044  DATA APPLE IIE
  336. 6045  DATA APPLE IIE,APPLE IIC
  337. 6046  DATA ULTRATERM1,ULTRATERM0
  338. 6047  DATA VIDEOTERM
  339. 6048  REM DATA WIZARD-80
  340. 6049  DATA SUP'R'TERM
  341. 6050  DATA FULL-VIEW 80
  342. 6051  DATA FLEX TYPE
  343. 6052  DATA VISION-80
  344. 6053  DATA M-80
  345. 6054  DATA MAGNUM-80
  346. 6055  DATA VIEWMAX-80
  347. 6056  DATA VIEWMASTER-80,WIZARD-80
  348. 6059  FOR I = 1 TO 3
  349. 6060  READ DSC$(I)
  350. 6061  NEXT 
  351. 6062  DATA "NEW LIST, APPLE LIST"
  352. 6063  DATA "HEX/DEC CONVERT, MON BASIC"
  353. 6064  DATA AUTONUMBER
  354. 6065  RETURN 
  355. 7000  REM <CTRL-J><CTRL-J>FUNNY NOISES<CTRL-J><CTRL-J>
  356. 7001 DING = 915: FOR I = DING TO 943: READ J: POKE I,J: NEXT : RETURN 
  357. 7002  DATA 32,74,255,160,20,152,32,168,3,73,138,32,168,3,136,208,244,32,63,255,96,170,202,208,253,44,48,192,96
  358. 7003  POKE 919,150: POKE 925,234: CALL DING: POKE 919,20: POKE 925,138: RETURN 
  359. 7004  FOR K = 1 TO 5:ZZ =  PEEK( -16336) + PEEK( -16336): NEXT : FOR K = 1 TO 50: NEXT 
  360. 7005  FOR K = 1 TO 5:ZZ =  PEEK( -16336) + PEEK( -16336): NEXT : RETURN 
  361. 8000  REM <CTRL-J><CTRL-J>AMPER HANDLER<CTRL-J><CTRL-J>
  362. 8001 W = ST(0)
  363. 8002  POKE W +9,114: POKE W +10,8: POKE W +94,234: POKE W +95,234: POKE W +96,234: POKE W +97,234
  364. 8003 W = W +114: POKE W,169: POKE W +1,127: POKE W +2,141: POKE W +3,246: POKE W +4,3: POKE W +5,169: POKE W +6,8: POKE W +7,141: POKE W +8,247: POKE W +9,3: POKE W +10,76: POKE W +11,234: POKE W +12,3
  365. 8004 W = W +13: POKE W,162: POKE W +1,23: POKE W +2,221: POKE W +3,65: POKE W +4,9: POKE W +5,240: POKE W +6,4: POKE W +7,202: POKE W +8,208: POKE W +9,248: POKE W +10,96: POKE W +11,202: POKE W +12,138
  366. 8005 W = W +13: POKE W,10: POKE W +1,168: POKE W +2,185: POKE W +3,124: POKE W +4,9: POKE W +5,141: POKE W +6,159: POKE W +7,8: POKE W +8,185: POKE W +9,123: POKE W +10,9: POKE W +11,141: POKE W +12,158
  367. 8006 W = W +13: POKE W,8: POKE W +1,32: POKE W +2,177: POKE W +3,0: POKE W +4,76: POKE W +5,255: POKE W +6,255
  368. 8007 W = ST(6) +66: POKE W,2
  369. 8008 W = ST(0) +322
  370. 8009  POKE W,78: POKE W +1,149: POKE W +2,69: POKE W +3,35: POKE W +4,72: POKE W +5,82: POKE W +6,83: POKE W +7,88: POKE W +8,79: POKE W +9,48: POKE W +10,49: POKE W +11,50
  371. 8010 W = W +12: POKE W,76: POKE W +1,149: POKE W +2,68: POKE W +3,66: POKE W +4,77: POKE W +5,65: POKE W +6,80: POKE W +7,86: POKE W +8,67: POKE W +9,71: POKE W +10,84
  372. 8011  RETURN 
  373. 9000  REM <CTRL-J><CTRL-J>GET KEY PRESS<CTRL-J><CTRL-J>
  374. 9005  ONERR  GOTO 9030
  375. 9010  PRINT "_";:K =  PEEK( -16384): PRINT  CHR$(8);: IF K >127  THEN  POKE  -16368,0:A$ =  CHR$(K -128): RETURN 
  376. 9015  FOR I = 1 TO 163: NEXT 
  377. 9020  PRINT " ";: PRINT  CHR$(8);: FOR I = 1 TO 325: NEXT : GOTO 9010
  378. 9030  CALL  -3288: GOTO 101
  379. 60000  REM <CTRL-J><CTRL-J>ERROR HANDLING<CTRL-J><CTRL-J>
  380. 60001 ER =  PEEK(222): POKE 216,0
  381. 60002  IF ER >15  THEN ER = 0
  382. 60003  PRINT  CHR$(12): HOME : INVERSE :A$ = ":                      :": GOSUB 2000
  383. 60004 A$ = "   SAVE CONFIGURATION   ": GOSUB 2000
  384. 60005 A$ = ":                      :": GOSUB 2000: NORMAL 
  385. 60006  PRINT :A$ = "(C) 1983 MARK SIMONSEN": GOSUB 2000
  386. 60007  VTAB 12:A$ = "CAN'T CONFIGURE": GOSUB 2000
  387. 60008  INVERSE : PRINT :A$ = " " +ER$(ER) +" ": GOSUB 2000: NORMAL 
  388. 60009  GOSUB 7003
  389. 60010 VT = 22: GOSUB 4000
  390. 60011  CALL  -3288: GOTO 101
  391. 63999  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>==================<CTRL-M>CONFIG DOUBLE-TAKE<CTRL-M>MARK S. SIMONSEN<CTRL-M>(C) 1983<CTRL-M>BEAGLE BROS INC.<CTRL-M>==================<CTRL-M>